/*
 * Role.java
 * Copyright(C) WYY
 * All rights reserved.
 * -----------------------------------------------
 * 2019-09-14 Created
 */
package com.project.model.core;

import com.project.model.common.BaseEntity;

/**
 * 角色表
 *
 * @version 1.0 2019-09-14
 */
public class Role extends BaseEntity {

    private static final long serialVersionUID = 452531019103338496L;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 角色编码
     */
    private String roleCode;

    /**
     * 角色状态
     * 0：新建
     * 1：启用
     * 2：禁用
     */
    private Integer status;

    public enum STATUS_ENUM {
        NEW(0, "新建"),
        ENABLE(1, "启用"),
        DISABLE(2, "禁用");

        /**
         * 枚举值
         */
        private Integer value;

        /**
         * 枚举名称
         */
        private String name;

        /**
         * 枚举有参构造函数
         *
         * @param value 枚举值
         * @param name  枚举名
         */
        STATUS_ENUM(Integer value, String name) {
            this.value = value;
            this.name = name;
        }

        /**
         * 获取枚举值
         */
        public Integer getValue() {
            return value;
        }

        /**
         * 获取枚举名
         */
        public String getName() {
            return name;
        }
    }

    /**
     * 是否系统角色
     * 【系统角色不允许删除】
     */
    private Boolean isSys;


    /**
     * 获取角色名称
     */
    public String getRoleName() {
        return roleName;
    }

    /**
     * 设置角色名称
     */
    public void setRoleName(String roleName) {
        this.roleName = roleName == null ? null : roleName.trim();
    }

    /**
     * 获取角色编码
     */
    public String getRoleCode() {
        return roleCode;
    }

    /**
     * 设置角色编码
     */
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode == null ? null : roleCode.trim();
    }

    /**
     * 获取角色状态
     * 0：新建
     * 1：启用
     * 2：禁用
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置角色状态
     * 0：新建
     * 1：启用
     * 2：禁用
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取是否系统角色
     * 【系统角色不允许删除】
     */
    public Boolean getIsSys() {
        return isSys;
    }

    /**
     * 设置是否系统角色
     * 【系统角色不允许删除】
     */
    public void setIsSys(Boolean isSys) {
        this.isSys = isSys;
    }
}